Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла

Алгоритмізація та програмування 2: Процедурне програмування ЗВІТ до лабораторної роботи № 2 «Динамічне виділення пам’яті для одно- та двовимірних масивів» Варіант 16 Дата «26» квітня 2022 ЗАВДАННЯ: 1. Ознайомитись з особливостями роботи з динамічними одно- та двовимірними масивами. 2. Розробити Блок-схему програмного алгоритму. 3. Виконати індивідуальне завдання. 4. Оформити ЗВІТ до лабораторної роботи згідно вимог та методичних рекомендацій. 5. Вихідні дані (завдання) обрати згідно свого варіанта у Додатку B-2. Варіант завданнь: За варінатом 16 – з таблиці з рисунка 1 варіант 16. / Рисунок 1. Теоритичні відомості: div_t div(int numerator, int denominator) Прототип:  stdlib.h Опис:  Функція div() повертає частку від ділення і остачу операції numerator/denominator. Структура типа div_t визначена у файлі stdlib.h й має два насупних поля: int quot; /* частка */ int rem; /* остача */ Приклад:  Наступна программа виводить частку від ділення й остачу при виконанні операції 10/3: #include <stdio.h> #include <stdlib.h> int main(void) { div_t n; n = div(10,3); printf("Quotient and remainder: %d %d\n", n.quot, n.rem); return 0; } Блок-схеми / Вивід програми: / Код програми: Посилання на Repl.it: https://replit.com/join/buzqqttxlx-tr-15khavkin #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <time.h> int main(int args, char *argv[]) { int x,n,m,l,j; int *array1,*array12; int **array2,**array22; srand(time(NULL)); //Ініціалізація одновимірного массиву printf("\nІніціалізації елементів одновимірного масива випадковими числами\nВведіть кількість елемнетів: "); scanf("%d", &x); array1=(int*)malloc(x * sizeof(int)); for (int i=0; i < x; i++){ array1[i]= rand() % 40 - 20; printf("\narray1[%d]: %d", i, array1[i]); } array12=(int*)malloc(x * sizeof(int)); //Перше завдання printf("\nЗавданя 1 для одновимернго массиву\n"); j=0; for (int i=0; i < x; i++){ printf("%d ", array1[i]); if(array1[i]>=0){ array12[j]=array1[i]; j++; } } printf("\n\nОтриманний массив array1:\n"); for (int i=0; i < j; i++) printf("%d ", array12[i]); //Ініціалізація двовимірного массиву printf("\n\nІніціалізації елементів для двовимірного масиву випадковими числами\nВведіть розмірність L*M\nВведіть L:"); scanf("%d", &l); printf("\nВведіть M:"); scanf("%d", &m); array2=(int**)malloc(l * sizeof(int*)); for (int i=0; i < l; i++)array2[i]=(int*)malloc(m*sizeof(int)); for (int i = 0; i < l; i++ ) { for (int j = 0; j < m; j++ ){ array2[i][j]= rand() % 40 - 20; printf("array2[%d,%d]: %d ", i, j, array2[i][j]); } printf("\n"); } //Друге завдання int N,K,str,quot,rem; printf("\n\nЗавданя 2 для двовимернго массиву"); printf("\nВведіть значення N: "); scanf("%d", &N); printf("\nВведіть значення K: "); scanf("%d", &K); printf("\nВведений массив array2:\n\n"); for (int i = 0; i < l; i++ ) { for (int j = 0; j < m; j++ ){ printf("%d ",array2[i][j]); } printf("\n"); } printf("\nОтриманний массив array2:\n"); div_t str2; str2 = div(N,m); if(rem==0)str=str2.quot-1; else str = str2.quot; array22=(int**)malloc(l * sizeof(int*)); for (int i = 0; i < l; i++) { if(i==str){ array22[i] = (int*)malloc(m+K * sizeof(int)); for(int j=0; j<str2.rem;j++){ array22[i][j]=array2[i][j]; printf("%d ", array22[i][j]); } for(int g=0; g<K;g++){ array22[i][(str2.rem)+g]=rand() % 40 - 20; printf("\033[1;32m%d ", array22[i][str2.rem+g]); } for(int j=str2.rem; j<m;j++){ array22[i][j+K]=array2[i][j]; printf("\033[0m%d ", array22[i][j+K]); } }else{ array22[i] = (int*)malloc(m * sizeof(int)); for(int j=0; j<m;j++){ array22[i][j]=array2[i][j]; printf("%d ", array22[i][j]); } } printf("\n"); } return 0; } Висновок: У цій л...
Антиботан аватар за замовчуванням

14.06.2023 20:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини